目前主流的 OpenCart 3.0.2.0 版已釋出約一年半了,如果您仍在使用 1.5.x 的版本,目前已是該升級的時時候了,如果您是要架設新的網站,當然是選擇安裝 3.x 版,若現在還在安裝老舊的 2.2 版,就如同現在還在購買一部二行程的機車一樣,雖然還是可以跑得很順很快,但有很多地方,真的已經跟不上時代了。
在這裡幫您整理了 opencart 3.x 帶來的改進,與老舊的 2.2 版(或更舊版本)主要的差異 :
一、 PHP 版本效能及安全性問題
opencart 2.2 版系統最低要求是 PHP 5.4,於是許多擴充模組、版型,或二次修改過的程式,都是採用 PHP 5.4 相容的語法,使得系統極可能無法在 PHP 7.x 的環境上運行,只能一直待在 PHP 5.x 的環境,而 opencart 3.x 版則是在 PHP 7.x 的環境下開發的,雖然也可以在 PHP 5.x 的環境上運行,但系統本身、及大部分的擴充模組,都可以在 PHP 7.x 上運行。
要注意的是,PHP 5.x 升級成 7.x 不只有 40% 的效能提升,PHP 5.4 版早在 2015 年就已被停止安全性更新,即使是 PHP 5.6 也將在幾日後的 2018年12月31日,終止安全支援。(資料來源: https://www.ithome.com.tw/news/126419)
二、 更安全的 Storage 目錄保護
在 opencart 3.x 版,允許(並強烈建議)您將 Storage 目錄,搬移至網站根目錄之外,可以避免重要的暫存檔案、資料庫快取檔案,被有心人直接連結盜取,而 2.2 版沒有這樣的安全設計。
三、 更安全的版型引擎 Twig
opencart 3.x 版改用了 Twig 版型引擎,Twig 的語法嚴謹,無法在版型檔中放置 php 程式碼,而 2.x 版系統中的 .tpl 版型檔,可以任意在版型檔中使用 php 程式碼,改用 Twig 版型引擎,能為系統提高不少安全性。
四、 更簡單的會員註冊
2.2 版會員註冊時,必須填寫地址資料,整個註冊表單相當冗長,容易讓買家望而卻步,而 3.x 版已移除地址的欄位,讓註冊畫面變得簡潔許多。
五、 最新模組或版型都陸續不再支援 opencart 2.2
例如目前最燙手的版型 Journal 3,已不再支援 opencart 2.2 或更舊的版本,只支援 opencart 2.3 及 3.x,安裝了 opencart 2.2 將無緣安裝 Journal 3。(參考資料: https://docs.journal-theme.com/v3/docs/)
六、 解決前後端帳號 token 衝突的問題
在 opencart 3.x 版以前,前端會員登入後的 token 資料,與後端管理者登入後的 token 資料,採用了相同的變數名稱,造成管理者登入會員帳號後會造成管理者的 token 失效,及產生一些帳號安全性控管上的問題,如今在 opencart 3.x 版上,修正了這個重要的問題。
如果您目前仍在使用 1.5.x 的版本,建議您考慮升級您的 OpenCart。
如果您目前是使用 opencart 2.2 或 2.3 版,只要加強一些安全措施,應該是還能撐一陣子。
但如果您是剛要架設的新網站,應毫無懸念的選擇 3.x 版,如果因為廠商的短視無知,或是技術能力還停留在 2.2 版,推薦您安裝了 2.2 版,強烈建議您考慮升級或重新安裝 3.x 版,以便為您的電商事業,建立可長久經營的網站基石。
參考資源
OpenCart 網站代管、客製、維護 https://www.osec.tw/
OpenCart 台灣用戶社群 https://www.facebook.com/groups/opencart.taiwan/
OpenCart 台灣技術支援粉絲頁 https://www.facebook.com/ntcart/
OpenCart 台灣優化版專頁 https://www.osec.tw/opencart.html
OpenCart 台灣中文用戶討論區 https://www.ntcart.com/